package org.com.coolfish.common.database.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.Table;

import org.hibernate.annotations.Proxy;

@Table(name = "kuyu_package")
@Entity
public class KuyuPackage extends IdEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    private Integer uid;		//关联kuyu_user主键

    private String name;		//自定义套餐名称
    
    private String packageName;	//运营商的套餐名称

    private Integer cardType;	//对应kuyu_card_classfiy的主键ID

    private Integer packageType;//套餐类型（1移动，2电信，2联通）

    private String text;		//套餐简介

    private BigDecimal oldPrice;//原价

    private BigDecimal price;	//实际价格

    private Date addtime;		//添加的时间

    private String packageid;	//套餐对应运营商的接口ID值

    private Integer sort;		//排序号

    private Integer status;		//上下架状态 1为上架， 2为下架

    private BigDecimal flow;	//流量值

    private Integer usetime;	//有效时间周期（基本单位：月）

    private Integer type;		//基本类型 1.月卡 2.普通卡 3.池卡 4.行业卡

    private Integer operatorid;	//供应商id

    private Integer stackable;	//是否为叠加包 1.普通 2.叠加包

    private Integer base;		//是否为固定包 1.普通 2.固定包

    private Byte isDis;			//是否特惠，1否2是

    private Integer pStarttime;	//开始时间

    private Integer pEndtime;	//结束时间

    private Integer count;		//数量

    private Byte isInfinite;	//是否无限，1普通，2无限

    private Boolean hide;		//强制下架

    
    public KuyuPackage() {
		super();
	}
    
   
    
	public KuyuPackage(Integer id,String name, String packageName, BigDecimal price, String packageid, Integer status,
			BigDecimal flow, Integer usetime) {
		super();
		this.id = id;
		this.name = name;
		this.packageName = packageName;
		this.price = price;
		this.packageid = packageid;
		this.status = status;
		this.flow = flow;
		this.usetime = usetime;
		
	}



	public KuyuPackage(Integer uid, String name, String packageName, Integer cardType, Integer packageType, String text,
			BigDecimal oldPrice, BigDecimal price, Date addtime, String packageid, Integer sort, Integer status,
			BigDecimal flow, Integer usetime, Integer type, Integer operatorid, Integer stackable, Integer base,
			Byte isDis, Integer pStarttime, Integer pEndtime, Integer count, Byte isInfinite, Boolean hide) {
		super();
		this.uid = uid;
		this.name = name;
		this.packageName = packageName;
		this.cardType = cardType;
		this.packageType = packageType;
		this.text = text;
		this.oldPrice = oldPrice;
		this.price = price;
		this.addtime = addtime;
		this.packageid = packageid;
		this.sort = sort;
		this.status = status;
		this.flow = flow;
		this.usetime = usetime;
		this.type = type;
		this.operatorid = operatorid;
		this.stackable = stackable;
		this.base = base;
		this.isDis = isDis;
		this.pStarttime = pStarttime;
		this.pEndtime = pEndtime;
		this.count = count;
		this.isInfinite = isInfinite;
		this.hide = hide;
	}



	public KuyuPackage(Integer usetime, Integer stackable, Integer base) {
		super();
		this.usetime = usetime;
		this.stackable = stackable;
		this.base = base;
	}

	

	public KuyuPackage(BigDecimal oldPrice, BigDecimal price) {
		super();
		this.oldPrice = oldPrice;
		this.price = price;
	}


	public Integer getUid() {
        return uid;
    }

    public void setUid(Integer uid) {
        this.uid = uid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public Integer getCardType() {
        return cardType;
    }

    public void setCardType(Integer cardType) {
        this.cardType = cardType;
    }

    public Integer getPackageType() {
        return packageType;
    }

    public void setPackageType(Integer packageType) {
        this.packageType = packageType;
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text == null ? null : text.trim();
    }

    public BigDecimal getOldPrice() {
        return oldPrice;
    }

    public void setOldPrice(BigDecimal oldPrice) {
        this.oldPrice = oldPrice;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public Date getAddtime() {
        return addtime;
    }

    public void setAddtime(Date addtime) {
        this.addtime = addtime;
    }

    public String getPackageid() {
        return packageid;
    }

    public void setPackageid(String packageid) {
        this.packageid = packageid == null ? null : packageid.trim();
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public BigDecimal getFlow() {
        return flow;
    }

    public void setFlow(BigDecimal flow) {
        this.flow = flow;
    }

    public Integer getUsetime() {
        return usetime;
    }

    public void setUsetime(Integer usetime) {
        this.usetime = usetime;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getOperatorid() {
        return operatorid;
    }

    public void setOperatorid(Integer operatorid) {
        this.operatorid = operatorid;
    }

    public Integer getStackable() {
        return stackable;
    }

    public void setStackable(Integer stackable) {
        this.stackable = stackable;
    }

    public Integer getBase() {
        return base;
    }

    public void setBase(Integer base) {
        this.base = base;
    }

    public Byte getIsDis() {
        return isDis;
    }
    
    public String getPackageName() {
		return packageName;
	}

	public void setPackageName(String packageName) {
		this.packageName = packageName;
	}

	public void setIsDis(Byte isDis) {
        this.isDis = isDis;
    }

    public Integer getpStarttime() {
        return pStarttime;
    }

    public void setpStarttime(Integer pStarttime) {
        this.pStarttime = pStarttime;
    }

    public Integer getpEndtime() {
        return pEndtime;
    }

    public void setpEndtime(Integer pEndtime) {
        this.pEndtime = pEndtime;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public Byte getIsInfinite() {
        return isInfinite;
    }

    public void setIsInfinite(Byte isInfinite) {
        this.isInfinite = isInfinite;
    }

    public Boolean getHide() {
        return hide;
    }

    public void setHide(Boolean hide) {
        this.hide = hide;
    }

	@Override
	public String toString() {
		return "KuyuPackage [uid=" + uid + ", name=" + name + ", packageName=" + packageName + ", cardType=" + cardType
				+ ", packageType=" + packageType + ", text=" + text + ", oldPrice=" + oldPrice + ", price=" + price
				+ ", addtime=" + addtime + ", packageid=" + packageid + ", sort=" + sort + ", status=" + status
				+ ", flow=" + flow + ", usetime=" + usetime + ", type=" + type + ", operatorid=" + operatorid
				+ ", stackable=" + stackable + ", base=" + base + ", isDis=" + isDis + ", pStarttime=" + pStarttime
				+ ", pEndtime=" + pEndtime + ", count=" + count + ", isInfinite=" + isInfinite + ", hide=" + hide + "]";
	}

	
    
}